/**********************************************************************************************/
/* FBL_ASCIIToFromNumeric.h																	  */
/*                                                                       					  */
/* Copyright Paradigma, 1993-2006                                        					  */
/* All Rights Reserved.                                                 					  */
/**********************************************************************************************/

#ifndef _FBL_ASCIIToFromNumeric_h
	#define _FBL_ASCIIToFromNumeric_h
#pragma once

// FBL:
#include <VShared/FBL/publ/Headers/FBL.h>

// FINAL:
#include <VShared/FBL/publ/Headers/FBL_pre_header.h>


/**********************************************************************************************/
FBL_Begin_Namespace


/**********************************************************************************************/
/// ascii string -> long;
/// @inStr - buffer containing string to be converted;
/// @return - resulting long value;
///
FBL_SHARED_EXP long	va_atol( const char* inStr );


/**********************************************************************************************/
/// long	-> ascii string;
/// @inNum - long to be converted to the string;
/// @outBuf - buffer containing result string;
/// @return - pointer to the end zero after number;
///
FBL_SHARED_EXP char*	va_ltoa( long inNum, char* outBuf );


/**********************************************************************************************/
/// ascii string -> ulong;
/// @inStr - buffer containing string to be converted;
/// @return - resulting ulong value;
///
FBL_SHARED_EXP ulong	va_atoul( const char* inStr );


/**********************************************************************************************/
/// ulong -> ascii string;
/// assumes that outBuf is at least 20 chars long;
/// @inNum - ulong to be converted to the string;
/// @outBuf - buffer containing result string;
/// @return - pointer to the outBuf;
///
FBL_SHARED_EXP char*	va_ultoa( ulong inNum, char* outBuf );


/**********************************************************************************************/
/// ascii string -> double;
/// assumes that outBuf at least 32 chars long;
/// @inStr - buffer containing string to be converted;
/// @return - resulting double value;
///
FBL_SHARED_EXP double	va_atof( const char* inStr );


/**********************************************************************************************/
FBL_SHARED_EXP char*	va_ftoa( double inNum, char* outBuff );


/**********************************************************************************************/
/// ascii string -> llong
/// @inStr - string to be converted to llong;
/// @return - resulting llong value;
///
FBL_SHARED_EXP llong	va_atoll( const char* inStr );


/**********************************************************************************************/
/// llong	-> ascii string
///
FBL_SHARED_EXP char*	va_lltoa( llong inNum, char* outBuf );


/**********************************************************************************************/
/// ascii string -> ullong
///
FBL_SHARED_EXP ullong	va_atoull( const char* inStr );


/**********************************************************************************************/
/// ullong -> ascii string
///
FBL_SHARED_EXP char*	va_ulltoa( ullong inNum, char* outBuf );


/**********************************************************************************************/
FBL_End_Namespace


/**********************************************************************************************/
#include <VShared/FBL/publ/Headers/FBL_post_header.h>


/**********************************************************************************************/
#endif // _FBL_ASCIIToFromNumeric_h
